/*

 * TowerEntitie.h
 *
 *  Created on: Jan 19, 2013
 *      Author: raysue
 */

#ifndef TOWERENTITIE_H_
#define TOWERENTITIE_H_

#include "core/GameObject.h"
#include "component/Animation.h"
#include "game/entities/BaseEnemy.h"
#include <iostream>

using namespace eats_core;

class TowerEntitie: public GameObject {

	public:
		TowerEntitie(SDL_Surface * surface, int posX, int posY);
		virtual ~TowerEntitie();

		virtual bool setUp();
		virtual bool update();
		virtual bool tearDown();

		int getWidth(){
			return animation->getWidth();
		};

		int getHeight(){
			return animation->getHeight();
		};

		int _tile_size;
		int _damage;
		int _price;

		int _range;
		int _velocity; //Milli seconds
		int _oldTime;

		bool _isActive;

		int getPrice() {
			return _price;
		}


	protected:
		Animation *animation;

		virtual void attack(BaseEnemy * enemie);

	protected:
		virtual bool loadAndEnableAnimation();
};

class TowersIndex {

public:

	static int CATODIX_PRICE;
	static int CATODIX_TILE_SIZE;
	static int CATODIX_DEMAGE;

	static int SUFURIX_PRICE;
	static int SUFURIX_TILE_SIZE;
	static int SUFURIX_DEMAGE;

};

#endif /* TOWERENTITIE_H_ */
